#pragma once

#include <cv.h>
#include <cvaux.h>
#include <highgui.h>
#include <opencv2/ml/ml.hpp>
#include "libICA.h"
#include "Delayer.h"


#define DD 90
using namespace cv;

/**
 * decomposition 
 *			get the m, h, d layer
 * @param 
 * @return
 */
void decompose(Mat src, Mat mask, Mat red, Mat delta, Mat dest, double argv2, double argv3, double lambda, double lambda2, int step = 8);


